﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;



namespace Sige
{
    public partial class listar_usuarios : Form
    {
        SqlConnection cn_superbit;
        DataSet dsUsuarios = new DataSet();
        DataTable dtconsulta = new DataTable();
        public class_usuarios usuarios = new class_usuarios();

        public listar_usuarios()
        {
            InitializeComponent();
        }

        private void listar_usuarios_Load(object sender, EventArgs e)
        {
            Accesoadatos datos = new Accesoadatos();
            string rutaBDSuperbit = datos.getruta();
            cn_superbit = datos.ObtenerConexion(rutaBDSuperbit);
            //Crea y abre la conexion.

            string consulta = "select codigo, nombreusuario, estado, admin from usuarios where estado = 'true'";
            SqlDataAdapter adaptador = new SqlDataAdapter(consulta, cn_superbit);

            adaptador.Fill(dsUsuarios, "usuarios");

            grid_usuarios.DataSource = dsUsuarios.Tables["usuarios"];
            this.grid_usuarios.Columns[2].Visible = false;

        }

        private void btn_buscar_Click(object sender, EventArgs e)
        {
            this.grid_usuarios.Columns[2].Visible = false;
            dsUsuarios.Tables.Clear();
            dtconsulta.Clear();
            SqlDataAdapter user;
            string sentenciaSqlNombre; 
            string sentenciaSqlID ;

            if (ckbox_listarbajas.Checked == false)
            {
                sentenciaSqlNombre = "select codigo, nombreusuario, estado, admin from usuarios where nombreusuario = '" + txt_consulta.Text + "' and estado = 'true'";
                sentenciaSqlID = "select codigo, nombreusuario, estado, admin from usuarios where codigo = '" + txt_consulta.Text + "' and estado = 'true'";
                this.grid_usuarios.Columns[2].Visible = false;
            }
            else
            {
                sentenciaSqlNombre = "select codigo, nombreusuario, estado, admin from usuarios where nombreusuario = '" + txt_consulta.Text + "'";
                sentenciaSqlID = "select codigo, nombreusuario, estado, admin from usuarios where codigo = '" + txt_consulta.Text + "'";
                this.grid_usuarios.Columns[2].Visible = true;
            }

            if (cmb_selector.Text.ToString() == "Por Codigo")
            {
                user = new SqlDataAdapter(sentenciaSqlID, cn_superbit);
            }
            else
            {
                user = new SqlDataAdapter(sentenciaSqlNombre, cn_superbit);

            }

            user.Fill(dtconsulta);

            grid_usuarios.DataSource = dtconsulta;

        }

        private void btn_vertodo_Click(object sender, EventArgs e)
        {
            this.grid_usuarios.Columns[2].Visible = false;
            dsUsuarios.Tables.Clear();
            dtconsulta.Clear();
            string consulta;
            if (ckbox_listarbajas.Checked == true)
            {
                consulta = "select codigo, nombreusuario, estado, admin from usuarios ";
                this.grid_usuarios.Columns[2].Visible = true;
            }
            else
            {
                consulta = "select codigo, nombreusuario, estado, admin from usuarios  where estado= 'true' ";
                this.grid_usuarios.Columns[2].Visible = false;
            }


            SqlDataAdapter adaptador = new SqlDataAdapter(consulta, cn_superbit);

            adaptador.Fill(dsUsuarios, "usuarios");            

           grid_usuarios.DataSource = dsUsuarios.Tables["usuarios"];

           
        }

        private void grid_usuarios_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            // If the column is the Artist column, check the
            // value.
            if (this.grid_usuarios.Columns[e.ColumnIndex].Name == "estado")
            {
                if (e.Value != null)
                {
                    // Check for the string "pink" in the cell.
                    bool stringValue = (bool) e.Value;

                    if (stringValue == false)
                    {
                        e.CellStyle.BackColor = Color.Tomato;
                        grid_usuarios.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Tomato;
                        
                    }
                    else
                    {
                        e.CellStyle.BackColor = Color.PaleGreen;
                        grid_usuarios.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.PaleGreen;
                    }
                }
            }


        }

     

    }
}
